test(prose): discovery, walked to the point where work first exists - #568
Merged
Conversation
This was referenced Jul 26, 2026
Merged
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 14:51
7542d11 to
7305e24
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:42
02a55bc to
f0ec7c5
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:42
7305e24 to
b65945a
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:44
f0ec7c5 to
ee0c976
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:44
b65945a to
a25db8a
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:46
ee0c976 to
1584692
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:46
a25db8a to
693f6af
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:47
1584692 to
4695ffa
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:47
693f6af to
9b63ea9
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:49
4695ffa to
cfb4c75
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:49
9b63ea9 to
e85e246
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:50
cfb4c75 to
d82bb34
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:50
e85e246 to
37bec05
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:52
d82bb34 to
b5cef3d
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:52
37bec05 to
5406c97
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:53
b5cef3d to
7b9d9c3
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:53
5406c97 to
59188ff
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:54
7b9d9c3 to
ca28506
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:54
59188ff to
a6c7436
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:55
ca28506 to
3b9b0b0
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:55
a6c7436 to
3585c69
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:57
3b9b0b0 to
8378abd
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:57
3585c69 to
39ba335
Compare
leeovery
force-pushed
the
fix/prose-verdict-states-only-what-is-recorded
branch
from
July 27, 2026 15:58
8378abd to
1cea24e
Compare
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:58
39ba335 to
1166bc8
Compare
leeovery
changed the base branch from
fix/prose-verdict-states-only-what-is-recorded
to
main
July 27, 2026 15:59
Discovery is the phase every work type begins at, and it had no coverage at all. This walks it from workflow-start on an empty project — no work units, no inbox, not even a project manifest, since none exists until the first work unit is created — through the opener, the shape-and-confirm gate and name resolution, stopping the moment the work unit is on disk. That stop is the durability boundary rather than an arbitrary point. Everything before the work-type commit is ephemeral however long the shaping ran; everything after it persists. The case asserts exactly that: nothing is on disk until one engine transaction creates the work unit, installs the session log staged in the cache, and commits. Three firsts. It is the first case that creates a work unit instead of reading one someone else built. It is the first live user of world `claims` — the manifest description and the session log's prose are the model's to write, so the world is judged against stated claims rather than byte-compared. And it is only the second case where engine_before_write is not vacuous, since the walk stages the session log under .workflows itself. The deterministic spine is the ordering: `manifest exists` must run before `workunit create`, because a collision check after the thing it checks for is no check at all. Alongside it, calls_exclude on the epic machinery — no map, no topics, no session close — since single-phase work must not touch any of it. The name is supplied by the scripted user rather than accepting the suggestion, which keeps every path in the expected world fixed instead of depending on what the model would have derived from the description. Passed first run: 5/5 path, all four checks, world PASS, no markers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
leeovery
force-pushed
the
test/prose-discovery-work-type-commit
branch
from
July 27, 2026 15:59
1166bc8 to
e40f8a2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Discovery is the phase every work type begins at, and it had no coverage at all. This walks it from
workflow-starton a genuinely empty project — no work units, no inbox, not even a project manifest, since none exists until the first work unit is created — through the opener, the shape-and-confirm gate and name resolution, stopping the moment the work unit is on disk.That stop is the durability boundary, not an arbitrary point. Everything before the work-type commit is ephemeral however long the shaping ran; everything after it persists. The case asserts exactly that: nothing on disk until one engine transaction creates the work unit, installs the cache-staged session log, and commits.
Three firsts:
world: "claims"— the manifest description and the session log's prose are the model's to write, so the world is judged against stated claims rather than byte-compared.engine_before_writeis not vacuous, since the walk stages the session log under.workflowsitself.The deterministic spine is ordering:
manifest existsmust run beforeworkunit create— a collision check that runs after the thing it checks for is no check at all. Pluscalls_excludeon the epic machinery (no map, no topics, no session close), since single-phase work must not touch any of it.The name is supplied by the scripted user rather than accepting the suggestion, which fixes every path in the expected world instead of leaving it to what the model would derive from the description.
Test plan
Passed on first run, on
claude-sonnet-5:Deterministic gate 76/76; snapshot rebuilds byte-identical.
🤖 Generated with Claude Code
Stack